package com.salelogistics.system.api;


import com.salelogistics.common.core.constant.ServiceNameConstants;
import com.salelogistics.common.core.web.domain.AjaxResult;
import com.salelogistics.common.core.web.page.TableDataInfo;
import com.salelogistics.system.api.domain.BasBuildUnit;
import com.salelogistics.system.api.domain.BasContract;
import com.salelogistics.system.api.factory.RemoteBasContractFallBackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 合同Service接口
 * 
 * @author ruoyi
 * @date 2023-07-10
 */
@FeignClient(contextId = "remoteBasContractService",
        value = ServiceNameConstants.BASIC_SERVICE,
        fallbackFactory = RemoteBasContractFallBackFactory.class)
public interface RemoteBasContractService
{
    /**
     * 查询合同
     * 
     * @param contractId 合同主键
     * @return 合同
     */
    @GetMapping(value = "contract/{contractId}")
    public AjaxResult selectBasContractByContractId(@PathVariable("contractId")Long contractId);

    /**
     * 查询合同列表
     * 
     * @param basContract 合同
     * @return 合同集合
     */
    @GetMapping(value = "contract/listVo")
    public TableDataInfo selectBasContractList(@RequestParam("basContract")BasContract basContract);
}
